package com.io.example.demoparent.mq;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 *   生产着代码
 */
public class Producer {

    public static final  String QUEUE_NAME="hello";


    public static void  send() throws IOException, TimeoutException {
        //创建一个链接工厂
        ConnectionFactory factory=new ConnectionFactory();
        //工厂ip 链接Rabbit队列
        factory.setHost("192.168.164.131");
        //端口
//        factory.setPort(15672);
        //用户名
        factory.setUsername("guest");
        //密码
        factory.setPassword("guest");
        //创建一个信道
        Connection connection = factory.newConnection( );
        //获取信道
        Channel channel = connection.createChannel( );
        /*
         *   生产一个队列
         *   1.队列名称
         *   2.队列里面的消息是否实持久化，默认情况储存在内存中
         *   3.该队列是否提供一个消费者，是否进行消息共享
         *   4.之是否自动删除
         *   5.其他
         */
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);

        String message="hello rabbit";
        /*
         * 发送一个消息
         * 1.发送到那个交换机
         * 2.路由的key值是那个
         * 3.其他参数
         * 4.消息体
         *
         */
        channel.basicPublish("",QUEUE_NAME,null,message.getBytes());
        System.out.println("发送消息成功");
    }

    public static void main(String[] args) throws IOException, TimeoutException {
        send();
    }
}
